Unity、C♯でXcodeのプロジェクトを改変する奴


概要

XCodeEditor-for-Unity というのに関してつぶやいてる方が居たので、使ってみた。

Unityが吐き出すXcodeプロジェクトにいろいろ書き込む奴。

最初、XcodeでUnity用の.csのコードとかを編集するのを可能にしたのか?! と戦慄したんだけど、違った。

よかった、狂気に魅せられた人は居なかったんだな、、!!


XCodeEditor-for-Unity

オリジナル

https://github.com/dcariola/XCodeEditor-for-Unity


4.5で動くようにちょこちょこ手を加えられている方のフォーク(プルリクマージされるといいのに、、)

https://github.com/kyubuns/XCodeEditor-for-Unity


で、せっかくなのでそのまま動かせるサンプル込みのフォークを作った。

こちら。

https://github.com/sassembla/XCodeEditor-for-Unity



何ができるのか

PythonでXcodeのプロジェクトにいろいろやるやつあるじゃないですか、アレ。ほらアレ。


pbxproj

https://github.com/kronenthaler/mod-pbxproj

これと同じようなことができそうな感じ。

pbxproj と比べてなにがうれしいかというと、上記をつかうにはPythonのスクリプトを書く必要があって、これがいろんな要因でいい感じに妖刀化するので、

そのへんをせめてC♯でなんとかできないかなーというあたり。



妖刀化する要因

Unityの仕様上、拡張子無しの PostprocessBuildPlayer ファイルを作ったらそれが使用されるんだけどさ。

http://docs-jp.unity3d.com/Documentation/Manual/BuildPlayerPipeline.html


こいつの中で、上記のpbxprojを使ってXcodeの書き換えとかよくやるんだけど。


以下の要因で困ることが多い。


・サードパーティーのやつが使ってて、殴り合うのが面倒くさい(っていうか使う側のコト考えたらよォーーー使わねーーのが優しさなんじゃネェーかァーー? ァァーー?

・コンパイルに巻き込まれないから全体像が見にくい

・ログ出ししにくくて失敗をフックしづらい


このへんがC♯で済めば、まあUnityの機構との親和性でだいたい解決できるし、

悪手を生成しないで済むようになるよね。


という。

サンプルを使ってiOS向けのビルドした奴のビフォーアフター置いとく

Before

1.png



After

2.png


Servicesにちゃんとlibsqlite3.dylibのリンクが入りましたねっていう。